/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.np2tec.soa.servicos;

import br.np2tec.soa.entidades.Cliente;
import java.util.Date;
import javax.jws.WebService;
import javax.ejb.Stateless;

import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;

@WebService()
@Stateless()
public class TratarClienteDataService {

    @PersistenceContext(unitName = "TratarClienteDataServicePU")
    EntityManager em;

    public void incluirCliente(String cpf, String endereco, Double renda, String telefone, String identidade, String nome){

        Cliente cliente = new Cliente();
        cliente.setNome(nome);
        cliente.setCpf(cpf);
        cliente.setEndereco(endereco);
        cliente.setTelefone(telefone);
        cliente.setRenda(renda);
        cliente.setIdentidade(identidade);
        cliente.setDataUltimaAtualizacao(new Date());
        cliente.setDataCadastro(new Date());

        em.persist(cliente);
    }

    public Cliente consultar(String cpf) {
        Cliente cliente = null;
        Query q = em.createQuery("select c from Cliente c where c.cpf = :cpfParam");
        q.setParameter("cpfParam", cpf);

        try {
            cliente = (Cliente) q.getSingleResult();
        } catch (javax.persistence.NoResultException nre) {
        }

        return cliente;
    }

    public void excluir(String cpf) {
        em.remove(consultar(cpf));
    }

    public void alterar(Cliente cliente) {
        cliente.setDataUltimaAtualizacao(new Date());
        em.merge(cliente);
    }
}
